package com.hehe.Dao;

import com.hehe.POJO.Tb_user;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@org.apache.ibatis.annotations.Mapper
public interface Select_Mapper {

    //  注意:   '#{word}' 是错误的写法, 不要有单引号'' : #{name}

    @Select("   SELECT * FROM `tb_user`  where id =  #{id}     ")
    List<Tb_user> get_by_id(Integer id);


    @Select("   SELECT * FROM `tb_user`    ")
    List<Tb_user> get_all();




    //   <!-- 当 collect 等于 all 时不添加额外的条件 -->
    //   <!-- 当 collect 等于 500 时添加条件 -->
    @Select({
            "<script>",
            "SELECT * FROM `tb_easy_word`",
                "<if test='type.equals(\"all\")'>",
                " where  1=1",
                "</if>",
                "<if test='type.equals(\"500\")'>",
                "  where   level = '500'",
                "</if>",
                "   ORDER BY RAND() LIMIT 1   ",
            "</script>"
    })
    Tb_user get_random_easy_word(@Param("type") String type);


    @Select("show databases;")
    List<String> showDatabases();


//    @Select("   SELECT * FROM `tb_test`   where id = #{id}    ")
//    Tb_test get_by_id(Integer id);
//    @Insert("       insert into t_question( `question` , `answer` , `type` , `from` )  values  (  #{question} , #{answer} , #{type} , #{from}  )     ")
//    Integer insert__(String question, String answer, String type, String from);

    /*

    @insert：   插入n条记录，返回影响行数n。（n>=1，n为0时实际为插入失败）
    @update：   更新n条记录，返回影响行数n。（n>=0）
    @delete：   删除n条记录，返回影响行数n。（n>=0）

    */


}
